/**
 * Un lugar en el mundo. esta clase es regularmente usada con la clase SmoothMover( o clases similares)
 * proporciona mejor presicion la posicion ( y con el smoother movement) que el actor estadar.
 * implementa la coordenada de posicion como doubles, en ves de ints.
 * @author mik 
 * @version 1.1
 */
public final class Lugar  
{
    /**
     * NULL
     */
    public static final Lugar NONE = new Lugar (-1.0, -1.0);
    /**
     * Variable de posicion
     */
    private double x;
      /**
     * Variable de posicion
     */
    private double y;
   
    /**
     * Constructor para los objetos de la clase Lugar
     */
    public Lugar(double x, double y)
    {
        this.x = x;
        this.y = y;
    }
    /**
     * metodo que regresa la posicion en X
     */
    public double getX()
    {
        return x;
    }
    /**
     * metodo que regresa la posicion en Y
     */
    public double getY()
    {
        return y;
    }
    /**
     * metodo que mueve el Lugar
     */
    public void move(double dx, double dy)
    {
        x = x + dx;
        y = y + dy;
    }
    /**
     * verifica si otro objeto tiene el mismo lugar que este.
     */
    public boolean equals(Object other)
    {
        if(other instanceof Lugar) {
            Lugar o = (Lugar) other;
            return (x == o.x) && (y == o.y);
        }
        else 
            return false;
    }
}
